// @author: caoshi
// @date: 2021-05-21 21:17
package service

import (
	"gradetable/src/dao"
	"gradetable/src/domain"
	"gradetable/src/util"
	"math/rand"
	"time"
)

// 保存
func SaveGrades(grades []domain.Grade) int {
	// 创建一个新的Grade 切片, 这个切片中Grade对象的属性值是完整的
	grades2 := make([]domain.Grade, 0)
	sr := rand.New(rand.NewSource(time.Now().UnixNano()))
	for _, item := range grades {
		// 设置ID
		item.Id = util.GetRandomString(32, sr)
		// 计算总成绩
		item.SumTotalGrade()
		grades2 = append(grades2, item)
	}
	// 调用dao中的批量插入
	count := dao.BatchInsert(grades2)
	return count
}

// 查询所有
func QueryForSlice() []domain.Grade {
	return dao.FindAll()
}
